// pages/person/person.js
import {setStorage} from '../../utils/storage'
import {reLogin, reqUser } from '../../api/user'
// 导入 ComponentWithStore 方法
import { ComponentWithStore} from'mobx-miniprogram-bindings'
//导入store对象
import { userStore} from '../../stores/userstore'
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
ComponentWithStore({

  storeBindings:{
    //让页面和store对象建立联系
    store:userStore,
    fields:['token','userInfo'],
    actions:['setToken','setUserInfo']
  },
  /**
   * 页面的初始数据
   */
  data: {
    boxStyle: 'block',  // 初始时盒子显示
    //对接后台的测试用户
    loginData: {
      username: 'Jocelyn',
      password: '1234567890'
    },
    //用户头像
    pic:defaultAvatarUrl,
    //用户昵称
    nickname:'张三'
  },
  methods:{
    onClick: function() {
      this.setData({
        boxStyle: 'none'  // 点击后将盒子隐藏
      });
    },
    //获取微信头像
OnchooseAvarar:function(e){
  console.log(e.detail.avatarUrl);
  var pic=e.detail.avatarUrl;
  this.setData({
    pic
  })
},

//获取用户信息
async getInfo(){

  //调用接口获取信息
const {data} = await reqUser()
console.log(data)
//将信息存入本地
setStorage('userInfo',data)
//将信息存储到Store对象
this.setUserInfo(data)
//渲染数据：
this.setData({
  pic: data.userPic,
  nickname:data.nickname
})
},
// 登录请求，将token存到本地
async login () {
  const loginData = this.data.loginData;
  // const formData = Object.keys(loginData)
  // .map(key => encodeURIComponent(key) + '=' + encodeURIComponent(loginData[key]))
  // .join('&');
const res = await reLogin(loginData)

console.log(res);
setStorage('token',res.data)
//将token传入到Store
this.setToken(res.data)
//异步获取信息
this.getInfo()
//隐藏按钮
this.onClick()
},



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
  }
})

